/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package test;

import beans.ObraSocialBean;
import daos.Dao;
import daos.DaoFactory;
import java.lang.reflect.Method;
import java.util.List;
//import wso.CartillaProfesionalesSerializable;

 
/**
 *
 * @author Cristian
 */
public class prueba1 {
    
    public static void main(String[] args) {
               
         
        Class serviceClass, portClass;
        Object service, port;
        Method metGetPort, metGetCartilla;       
        String os;//request.getParameter("nom_os");
        os = "OS1";
        
        try {      
            
            Dao dao = DaoFactory.getDao("ObraSocial");             
            ObraSocialBean osBean=  (ObraSocialBean) dao.get(new ObraSocialBean(os));       
            
            serviceClass = Class.forName("wso."+osBean.getAccesoWS()+"_Service");
            portClass = Class.forName("wso." +osBean.getAccesoWS());
            service = serviceClass.newInstance();     
                  
            metGetPort    = serviceClass.getMethod("get"+osBean.getAccesoWS()+"Port", (Class[]) null);                
                        
            port   = (Object) metGetPort.invoke(service,  null);
            
            metGetCartilla = portClass.getMethod("returnCartilla", (Class[]) null);
           System.out.println("llego action " + service.getClass().getName());   
//            List <CartillaProfesionalesSerializable> lista = (List <CartillaProfesionalesSerializable>) metGetCartilla.invoke(port,  null);
//             
//            for (CartillaProfesionalesSerializable ca : lista) { 
//            System.out.println( "Lista"+ ca.getApellidoProfesional() + ca.getNombreProfesional() + ca.getNombreEspecialidad() + ca.getNombrePrestadora());
//        }
//             CartillaProfesionalesSerializable ca = lista.get(0);
//            System.out.println( "Lista"+ ca.getApellidoProfesional() + ca.getNombreProfesional() + ca.getNombreEspecialidad() + ca.getNombrePrestadora());
//       
                     
            
        } catch (Exception ex) { 
           
            System.out.println("Error    " + ex.getMessage());
        }
      
//        try{
//         List <wso.CartillaProfesionalesSerializable> lista = new ArrayList<wso.CartillaProfesionalesSerializable>();
//             lista =    returnCartilla();
//        wso.CartillaProfesionalesSerializable ca = lista.get(0);
//            System.out.println( "Lista"+ ca.getApellidoProfesional() + ca.getNombreProfesional() + ca.getNombreEspecialidad() + ca.getNombrePrestadora());
//       }catch (Exception ex){System.out.println("Error    " + ex.getMessage());}
                     
    }

    private static java.util.List<wso.CartillaProfesionalesSerializable> returnCartilla() {   
        wso.OSWS1_Service service = new wso.OSWS1_Service();
        wso.OSWS1 port = service.getOSWS1Port();
        return port.returnCartilla();
    }

   
    }
    
   
    

